Wireless terminal device with user interaction system

ABSTRACT

A wireless terminal device having network access is disclosed. Selection of menus is simplified by allowing selection of more than one input such as direct touching of the screen, virtual keyboards or roller buttons. A focus marker in the form of a border around a field may be used to limit the area of selection. An object menu icon is visible without needing a right click of a mouse to make selection of the menu easier. The selection of options is localized and parsed at the network server before a response to the user selection is sent back to the terminal.

CROSS REFERENCE TO RELATED CASES

This application is related to U.S. patent application Ser. Nos.09/659,419, 09/609,681, 09/607,369 and 09/607,638 and also related toU.S. patent application Ser. Nos. 09/714,939 and 09/725,249, assigned toNokia Corporation and are herein incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to wireless terminal devices andmore particularly to wireless terminal devices having systems for easierinteraction between the user and the screen.

2. Discussion of the Background

Portable communication devices, such as wireless telephones, have becomevery popular and increasingly are able to provide much more than meretelephone access. Such devices have been developed which allow a user toaccess communication networks such as the Internet from their wirelessdevice.

Such a system has been described in co-pending U.S. patent applicationSer. Nos. 09/607,637 and 09/659,416 which describe a mobile displayappliance (MDA) system and are entitled “Network with Mobile Terminalsas Browsers Having Wireless Access to the Internet and Method for UsingSame” which allow access to the Internet from a variety of wirelessterminals. In addition to individual access, a server also provides afamily level of interaction so that a prearranged group of terminals mayall be allowed access to a common group of information as described inU.S. patent application Ser. No. 09/609,581 entitled “Network withMobile Terminals Having Wireless Access to the Internet and Method forDoing Same”. Accordingly, an individual user may be recognized as havingaccess not only to his or her own information, but to common informationprovided to the family.

An example of such a system is shown in FIG. 1, where the network 10includes terminals 20, 20 a and 20 b, each coupled over a wirelesssystem to an access point 22, 42 and a PC 21 coupled by a wiredconnection 31 to access point 22. The access point is coupled to anetwork for example owned by an operator of an Internet service provider(ISP) 24, 44, which is coupled to the Internet 26. In addition, thenetwork server, a server of an ISP 24 is coupled to a mobile displayappliance server 28 that provides the users with specific services andfeatures through their wireless terminals. Alternatively, access points22, 44 can be connected directly to mobile display appliance server 28via any network connection.

It is also possible that a terminal 20 c, outside the service area ofaccess point 22, may be connected to mobile display appliance server 28by being in the vicinity of another access point 42, which then isconnected to mobile display appliance server 28 through for example ISP44, and the Internet or another network.

The access point 22 is also coupled to a global unit or server of aproduct vendor 34. The address of a global address server 36 is known bythe terminal. A direct connection is established between a terminal anda network access point or server of the ISP 24. According to onealternative to the addressing scheme of the system of FIG. 1, an addressof mobile display appliance server 28 is received by the terminal andthe network node, from which a request to global address server 36 ismade. After the terminal 20, 20 a-20 c has knowledge of the address ofthe mobile display appliance server 28, a direct link can be made fromthe terminal to the server 28. The Internet address of the global unitor product vendor 34 and the global address server 36 is permanentlycontained in the memory of each terminal 20. The global address server36 is a place from which all the terminals 20-20 c may fetch theInternet address of their respective remote mobile display applianceserver 28. The initial configuration information and/or theconfiguration of a direct link is loaded down to the terminal 20-20 cfrom the remote server 36. This information can be updated for examplefrom the server of an ISP, an access service provider or a mobile accessprovider from time to time. The configuration and the addressing of theterminal 20-20 c in the system as well as any direct address linkconfigured to an user interface of the terminal is also transmitted to aremote server when changed. The global unit or product vendor 34includes a global address server 36 and a global upgrade server 38. Thevendor of the system terminal is connected either directly via anetwork, for example the Internet, to each remote mobile displayappliance server 28 or connected in a more centralized way first to theserver of the terminal vendor and from there to each server 28. Theadvantage of having the terminals store the Internet address of theglobal address server 36 is that if a terminal 20-20 c is relocated nearanother access point 22, 42, then the terminal may still obtain theInternet access location of mobile display appliance server 28 simply byknowing the Internet address of the global address server 36. It wouldalso be possible, to instead have a system where the address of themobile display appliance server 28 is stored in the terminal 20-20 c andthe memory is updated as needed. The mobile display appliance server 28authenticates, using the unique identity of the terminal 20-20 c, theaccess privileges of the terminal to be a shared or to have a groupaccess privileges. Accordingly, the terminal 20-20 c is authenticatedand logged onto the mobile display appliance server 28 to begin a sharedsession at a shared or group level.

After the terminal has been authenticated and the terminal 20-20 c hasreceived, the downloaded configuration information of services, userinterface and links are configured concerning the services and the mainview of the user interface. Then the terminal 20-20 c is ready to beused. Each terminal 20-20 c includes a unique identification (ID). TheIDs are reserved and used by members belonging to the same group. Eachunique identification of a group of the terminals 20-20 c is recognizedin the same mobile display appliance server 28 to be used by the membersof the group. Every member belonging to a respective group may use thesame terminal. Each of the terminals including a unique terminalidentification is switched on. Each terminal belonging to the same groupmakes a request from the global address server 36. The address of themobile display appliance server 28, in which the applications andservices are stored, are ready to be used. Then, each of the terminals20-20 c belonging to the same group obtains the address of the samemobile display appliance server 28 to which each of the terminals isconnected. Thus, the user can now access services or retrieveinformation from the mobile display appliance server 28 or the Internet26.

In addition to the terminal accessing and using the services of thegroup, the terminals 20-20 c can be used to access services of anindividual user.

The user profile and terminal specific user interface configurationsettings, as well as possible software components or program updates tothe mobile display appliance server 28, are controlled and performed bya configuration tool manager of a management server (not illustrated).Configuration change may affect both the mobile display appliance server28 and/or the terminal 20-20 c. In order for the user to initiate anindividual session and retrieve individual information, the user mustuse the terminal 20-20 c and provide further authentication to themobile display appliance server 28 to gain an access at the individuallevel. Either at a shared/group or at individual level, the user is ableto retrieve the information related to the group of users as well asbrowsing the Internet 26 to retrieve information.

The mobile terminal to be used can be ordinary PC 21 and a wirelessmodem for establishing a wireless connection via a mobile serviceoperator to the mobile display appliance server 28, which has capabilityto be in connection to the network. A mobile terminal 20-20 c can be aterminal described in patent application Ser. Nos. 09/607,637,09/659,416 and 09/609,581.

FIG. 2 is a more detailed block diagram of a terminal 20-20 c, whichshows as a calendar application on the display operating within thesystem shown in FIG. 1. Referring to FIG. 2, the terminal 20-20 cincludes a display 70, a user interface (UI) framework 72, a browser 74,a driver 76, and processor 78. Each element is shown here for referenceonly, and the location of each element is not intended to be a definedlocation of one element relative to the other elements. For example, theuser interface 72 may be in or part of the display, or independent ofthe display.

When the user accesses a service, like a calendar service, or retrievesinformation from the mobile display appliance server 28, the browser 74is the program product that is in charge of conveying the servicespecific information and the main view of the selected application suchas calendar service from the mobile display appliance server 28 to theterminal 20-20 c.

FIG. 3 is a more detailed block diagram representation of the server ofthe system of the network shown in FIG. 1. In FIG. 3, the mobile displayappliance server 28 includes a support server 46, a response handler orapplication server 48, a network application server 50, and a directoryserver 52. As would be appreciated by one of ordinary skill in the art,the referenced connections do not depict the physical connectionsbetween the elements and are merely logical connections. The supportserver 46 provides services oriented towards enabling and supporting theservices provided to the terminals 20-20 c. The support server 46includes an upgrade service unit 54, a bookmark service database unit55, a login services unit 56, a bookmark database 57, a profile servicesunit 58, a client log unit 59 for collecting information about clients,an advertisement services unit 60, a system log unit 61 for collectinginformation about events in the mobile display appliance server 28 fromthe client log unit 59, an administrative services unit 62, a definedservices unit 64, and a directory client unit 66.

Still referring to FIG. 3, the upgrade services unit 54 is dedicated tocontrolled software upgrades of the software for the support server 46.Updates are transmitted from the global upgrade server 38 to the upgradeservice unit 54. The login services unit 56 provides for authenticationof the user and the terminals 20-20 c that is being used to access theservices, based on information provided by the client unit 66.Additionally, the login services unit 56 is also responsible for log-offactivities, such as individual session termination. The profile servicesunit 58 provides for modifying a user's profile information. Thismodification of a user's profile may include modifying the group andindividual information and preferences. The administration services unit62 provides for administration of the support server 46 and theapplication server 48. The software product updates are transmitted fromthe global upgrade server 38 and its configuration tool manager (notillustrated) to the upgrade service unit 54 and its configuration toolclient (not illustrated). The configuration tool client is thefunctional unit that acts when any configuration tool manager of amanagement server in FIG. 1 (not illustrated) upgrades any softwarecomponent, full executable software program or re-configuresconfiguration parameters; application and system parameters.

In FIG. 1 a firewall 40 protects the connection to and from the globalunit 34. It will be apparent to those skilled in the art that thefirewall unit 40 functions to provide secured access to the globaladdress server 36 and the global upgrade server 38.

In FIG. 3 the advertisement services unit 60 provides for the mobiledisplay appliance server 28 to tailor advertisements to the user and theterminals 20-20 c according to the user's profile information. Thedefined services unit 64 is a classification of “other services”containing items such as bookmark management services, help services,and log services, name management services, and general managementservices. The directory client unit 66 is coupled to the directoryserver 52 to provide client verification.

In FIG. 3 the remote register management and control unit 67 knows theclosest or the global terminal validation register address. The controlunit 67 may also interpret the answer received from the registeraddress. Typically, during browser login action of the terminals 20-20c, the mobile display appliance server 28 individually manages theclient specific parameters 68. The management information from oneterminal browser session is stored and used after a request is receivedfrom an identified terminal 20. Other requests received from terminals20-20 c involving different identification information (IDs) use browserclient specific parameters (68 a, 68 b) which may result in, forinstance, seeking of bookmarks for the terminals when an action requestoriginated from the terminals.

In FIG. 1. the terminals 20-20 c may have access through properauthentication and from service purchases of a third party publicationswhich are available from a vendor 33, such as news related informationfound in magazine publications or from daily newspapers.

The user interface of the terminals 20-20 c the user alternativeselections of how to select a command and a target of the command in amain menu of the terminal view (the same that is presented when theterminal is powered on) or in an application for example a calendar. Inthe terminals 20-20 c there may exist a hard button, which the user maypress at any time using any service of the system which then results inthe next view being changed to the main family view (or main individualview if the PC 21 is used having a connection to access point 22 viawire connection 31).

Depending on the service application in use, a user selection and acommand from the terminal interface may affect the information of theservice used by the group members. The authenticated group member maychange for example the group calendar content according to given commandin such a way that other authorized members of the same group obtain thelatest group calendar information from the mobile display applianceserver 28.

Thus, by utilizing this MDA system, it is possible to obtain informationon a wireless device through a server and the Internet. Because thecontent is being handled by different systems having differentprotocols, it is necessary to convert the content from one system toanother as the data is being passed back and forth. Thus, each pagebeing viewed is defined as an XML page template, which is parsed withgeneral MDA components. The information is then passed by way of alocalization menu, which generates the view into the users definedlanguage. Next, in the localization script, parsing results finally in aHTML page ready for the terminal.

Thus, the three previous stages are used to correct the fourth stagefinal conversion, which feeds in the actual content of the applicationlike e-mail or calendar content. The result is an HTML page, which ispresented in the terminals 20-20 c.

This application is related to co-pending U.S. patent application Ser.No. 09/607,369, filed on Jun. 30, 2000, entitled “User InterfaceConstructed from Components Created from a Set of Tags”, which providesa method for generating display instructions by converting templatescontaining style information into a final format, which converts forexample data created in one language into a second language. Theinvention provides a method for converting one machine-readable languagefor example XML or XSL into another for example HTML, by applyinginstructions to style templates. The invention provides a high levelconstruct created from a set of lower lever tags. Those tags may begrouped and the new grouping be represented as a new tag, that may bereferred to as a component. A man machine interface (MMI) of a terminal,may be created by using constructs. The tags can be understood to besystem components for example in XSL format

When the user operates the wireless device to obtain information throughthe Internet, it is often necessary or possible to use a menuarrangement in order to select various possibilities on the screen. Suchselection is done easily on a non-portable device such as a PC, where amouse or other device may be utilized to control a cursor on the screen.

FIG. 4 shows a screen, which is available using a Microsoft Windowsarrangement. It is noted that the selected icon (not illustrated) forMicrosoft Word was highlighted and as a result a drop down menu has beenmade available so that different options may be selected. The menu ismade available by placing the cursor on the Microsoft Word icon andright clicking on the mouse. However, in a portable wireless device, theneed for additional space and weight makes the use of a mouseimpractical. Likewise, because of the limited number of buttons on thedevice, the use of keys to control the cursor is also difficult.Accordingly, it is desirable to have systems, which are friendly to theuser and simple to operate on a wireless device when selecting optionsfrom a menu.

SUMMARY OF THE INVENTION

The present invention provides a wireless device having systems, whichoffer several alternatives for the interaction between the user and amenu on the screen. This is accomplished through several features, whichmake selections easier.

Accordingly, the present invention provides systems for userinteractions with a wireless terminal.

Furthermore, the present invention provides a wireless terminal devicehaving a graphic or a view containing a list based on a user interfacesystem for a user to interact with menus on the screen.

The present invention further provides a method for interacting with thescreen by providing simplified steps in the selection process.

The present invention further provides a wireless system forinterconnecting the wireless device with the Internet and providing asimplified system for selecting options on a menu.

The present invention further provides a wireless system having a focusmarker for indicating which section of the screen is being controlled.

The present invention further provides a wireless terminal device havingmore than one alternative for selecting options from a menu.

The present invention further provides a wireless device in which beforea response from a server back to the terminal occurs, localization andcomponent parsing occurs at the server.

The present invention further provides a wireless terminal system wherean indicator for a drop-down menu is visible along with an associatedobject at all times.

The present invention furthermore provides a wireless system forallowing a wireless device to access the Internet through a server andto select options from a menu which appear on the device's screen wherea object of interest is indicated by a focus marker, where the selectionmay be made with more than one device, where the menu is indicated by anicon which is always visible and when the selection is transferred to aserver, localization and component parsing is done for data and audiovisual user interface elements before responding back to the terminal insuch a way that the server side methods support more than one terminaltype.

The present invention furthermore provides a wireless system forallowing a wireless device to access the Internet through a server andselect options from a menu where any visible service to a user of agroup or as an individual user, where selection may be made with morethan one device, that applies a direct or indirect pointing method shownwith one of several alternative marked selection means. The menu isindicated by an icon which is always visible and the selection istransferred by using a browser application as a bearer applicationbetween the terminal and the server user not noticing that the browseris used at the time. The server, localization and component parsing isdone for data and audio visual user interface elements before respondingback to the terminal in such a way, that the server side methods supportmore than one terminal type and or the user interface elements arecreated either in the server or in the terminal.

The present invention furthermore provides a wireless system forallowing a wireless device to access the Internet through a server andselect options from a menu. Any visible service to a user of a group oras an individual user can be added or configured from the network to theserver. The service to which a selection may be made with more than onedevice applies a direct or an indirect pointing method which is shownwith one of several alternative marked selection means. The menu isindicated by an icon which is always visible. The selection istransferred by using a browser application as a bearer applicationbetween the terminal and the server user not noticing the browser isused at the time. The localization and component parsing is done fordata and audio visual user interface elements at the server beforeresponding back to the terminal in such a way that the server sidemethods support more than one terminal type and/or the user interfaceelements are created either in the server or in the terminal.

Furthermore the present invention can be applied to user interfaceselection and object menu selection, user given command interpretationand showing the result in the terminal display of a terminal, that is awireless or connected in a fixed manner to the network access point withthe terminal including alternatively one or several sizes of displays.

Furthermore the present invention can be applied to user interfaceselection, object menu selection, user given command interpretation andshowing the result in the terminal display of a terminal, that is awireless or a terminal connected in a fixed manner to the network accesspoint with the terminal type determining the available and supportedselection devices and availability in the user interface view.

Furthermore the present invention can be applied to user interfaceselection, object menu selection, user given command interpretation andshowing the result in the terminal display of a terminal, that is awireless or terminal connected in a fixed manner to the network accesspoint, with the user interface view being divided into three areas whichare service selection tabs, content and advertisement areas when genericweb browsing is not the activated application service.

Furthermore the present invention can be applied to user interfaceselection, object menu selection, user given command interpret andshowing the result in the terminal display of a terminal, that is awireless or a terminal connected in a fixed manner to the network accesspoint, with the content area of the user interface view of the terminalbeing applied for visualizing, interacting and event functionality ofthe service independently of the type of the terminal in such a way,that object selection means are the only terminal type part dependent onthe usability of the service.

Furthermore the present invention can be applied to user interfaceselection, user given command interpretation and showing the result inthe terminal display of a terminal, which may be wireless, that byselecting a hard button, the user interface view is changed to a mainfamily level view.

Furthermore the present invention can be applied to user interfaceselection, user given command interpretation and showing the result inthe terminal display of a terminal, which may be a wireless terminal, byselecting a hard button, which is configured as a back command of thebrowser, the user interface view is changed to previous view,

Furthermore the present invention can be applied to user interfaceselection, a toolbar and/or a virtual keypad given a user command thatis interpreted and showing the result in the terminal display, which maybe a wireless terminal of the system, in such a way, that a user'searlier activated view can be activated without losing the presentservice view in such a way, that one of the two views of differentapplications can be selected to be the next content shown in the view.

Furthermore the present invention can be applied to user interfaceselection and object menu selection for which a user command isinterpreted and the result is shown in the terminal display of aterminal, that the available system services, that are selectable fromservice tabs, may be configured and be downloaded to the terminal fromserver. The server that is connected to the network may download therequired software and data configuration to the server to be used in themain view and the service view as one enabled user or a group sharedservice.

Furthermore the present invention can be applied to user interfaceselection and object menu selection for which a user command isinterpreted and the result is shown in the terminal display of aterminal. The available system services when selected result in theobject menu content including the commands for the selected service.

Furthermore the present invention can be applied to user interfaceselection and object menu selection for which a user command isinterpreted and the result is shown in the terminal display of aterminal. The available system services when selected result in theobject menu content including the commands for the selected service andhelp as guidance to use the service.

Furthermore the present invention can be applied to user interfaceselection and object menu selection for which a user command isinterpreted and the result is shown in the terminal display of aterminal. The available system services when selected, permit the newevent objects to be created by the user in such a way that the new eventobjects are then usable with other users of the group when an event isready and saved to the server and when later selected by a user objectmenu the event is visualized including the actions enabled for thecreated object.

This is accomplished by providing a system where the wireless device isconnected to the Internet through a server. The screen on the wirelessdevice includes a focus marker in the form of a dark border, whichindicates various portions of the screen to specify which objects arebeing selected. In addition, the objects on the screen have anindicator, which lets the user know that a menu may be brought up by itsactuation. A selection of options within a menu can occur by using avariety of input devices.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1 is a block diagram of a wireless communication system;

FIG. 2 shows a terminal of the wireless communication system; and

FIG. 3 shows a server of the wireless communication system; and

FIG. 4 is a view of a prior art screen,

FIG. 5 is a view of a screen according to the present invention;

FIG. 6 is an enlarged view of a menu according to the present invention;and

FIGS. 7 and 8 are schematic diagrams showing the handling of commandsbetween a wireless terminal and a server in accordance with the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, and moreparticularly, to FIG. 5, wherein 30 indicates the view seen in thescreen of the wireless device when connected to any family bulletinboard through the server as described in U.S. application Ser. No.09/725,249. Five tabs 22′ are shown at the top of the screen to selectfive different functions, each of which is indicated by a separate icon.Thus, the bulletin board is indicated by a thumbtack, bookmarks for theInternet are indicated by the globe, the family calendar is indicated bya calendar figure, e-mail is indicated by an envelope and a data base ofnames and address is indicated by a group of people. Since the bulletinboard tab has been selected, various notes 32 are seen on the screen asif they are notes on a bulletin board, each held up by a thumbtack. Inaddition, a series of color selection buttons (not illustrated) areavailable on the left hand side. An object menu 25 may be invoked byselection of a control button (not illustrated) located in the upperleft hand corner.

The control button may be also defined to invoke other user interfacefeatures such as a new dialog.

Under previous systems, such object menus can be observed by rightclicking on a mouse connected to a PC. However user studies have shownthat the non-visual object menu is not used very often. Users are notaware of the possibility to use an object menu for which they are nottrained to be used and/or which is not offered in a view of the displayof a terminal. An enhanced feature is to have the object menuindication, such as icon 25 available at all times, somewhere on thescreen, but essentially close to the selected object after userselection is made. The object menu presentation may be other than anicon. Thus, visualizing an object menu eliminates the need for the userto right click in order to have the object menu appear on the display.By having for example the icon 25 available, it is only necessary toselect the control button in order for the menu to appear.

The selection of the control button may be accomplished by severaldifferent methods. If the device is provided with a mouse or keyboard,it can be selected by a left click on the mouse or the appropriate useof arrow keys and the enter key on the keyboard. However, since this isnot typically available on a wireless device, it is possible to use atouch screen arrangement as is described in several of the related casesdescribed above. The user has to only touch the icon with a finger or apencil in order to actuate this icon. It is also possible to use avirtual keypad on the touch sensitive screen in order to direct theselection of the icon in a fashion similar to a physical keyboard. Itmay also be possible to use an integrated roller on the terminal androller control buttons if they are available. When the user selects themenu icon, it is also necessary to indicate which object this is beingapplied to.

The marker or selection means that the user can use one of thefollowing: an external mouse that is connected to the terminal; anexternal keypad that is connected to the terminal; a visual and virtualkeypad that is displayed to the touch sensitive screen described indetail in U.S. patent application Ser. No. 09/607,359; directmanipulation selection arrangement made with fingertips or for example apen to touch sensitive screen user interface selections described indetail in U.S. patent application Ser. No. 09/607,638; and integratedroller(s) in the terminal and roller control buttons (as described indetail in a U.S. patent application Ser. No. 09/607,359).

When the external mouse is used for marking the target into which user'scommands are to be directed, marking the target of the command is donetypically by pressing one button once (the left most button of themouse). The application specific command is typically selected from amenu (like Edit menu) and the selected command affects the previouslymarked target of the command. When the user uses a mouse (or joystick,trackick pad, track ball) as the selection device, the selection ormarking is made indirectly to the object.

Alternatively when an external keypad is used, the marking or selectionconcerning the target of the selected command may be done by moving theactive selection point to up, down, left or right with the “arrowbuttons”. The actual selection or marking is then done by pressing the<enter> button. Also as an alternative to moving the active marking with“arrow buttons” (→,←, . . . ), the marking point can be moved forinstance by pressing the “tab” button and the user interface of theapplication may move the active marking position from one target toanother in such a way, that all the possible targets in one view, one ata time are available to be selectable. Then the command that is to beprocessed for the selected target is typically given by pressing abutton control like for instance the <ctrl> button and at the same timea character button (like “W”) or two concatenating character buttonpressings (like “W” and “O”, the first character defining the menu setand the second the command in that menu set or the first characterdefining the command and the second target where to the response isdirected such as for example save to memory). When the user uses forexample an arrow (also known as a direction key) as the selectiondevice, the selection or marking is made indirectly to the object.

Alternatively when a virtual keypad is used for the marking orselection, marking the target and giving a command may be done similarlyas above described concerning the usage of an external keypad. Insteadof using “arrow buttons” or “tabs” to select or mark the target andcharacter or function buttons to give certain commands to select atarget, the user may use keypad button selection with fingertipsdirectly to display “the soft keys”. The soft keys are the keypadbuttons drawn on the touch sensitive display to look like hard buttonkeys of the keypad. Virtual keypad means and methods are described inU.S. patent application Ser. No. 09/607,359. When the user uses thevirtual keypad as the selection device, the selection or marking is madeindirectly to the object.

When direct manipulation selection is used, the application that is usedcan be controlled from the user interface. The user first selects thetarget by directly touching the target area in the touch sensitivedisplay. In the next step, a menu of commands or a command button isselected (from the view if presented at the moment) and in the thirdstep the given command is processed for the selected object. As aresult, a status indication of the processed command may be shown in thedisplay of the user interface. The direct manipulation methods aredescribed in U.S. patent application Ser. No. 09/607,638. The terminaluser issues commands to the terminal 20 and the mobile display applianceserver 28 by using direct manipulation and from menu-type of UI controls(object menu, toolbar etc.). The user either presses the hardware orsoftware button down, keeps a finger on hardware or the software buttonfor a longer period, moves the finger over the touch-sensitive touchscreen and lifts the finger from the hardware or software button. All ofthese basic user interactions—or basic user events—need to be detectedby the hardware and software. Hardware and software buttons aretherefore at a software level considered identical. From a userinteraction point of view, hardware and software buttons are consideredto be identical.

Thus, in FIG. 5, the lower note is highlighted with a focus marker 27′in order to indicate that this is a note of interest to which the menuis being applied and the upper note is highlighted with focus marker 27″to indicate that it is also a note of interest. Thus, in thisarrangement it is necessary to first indicate the object and thenindicate the menu button. It would be possible also to instead includethe menu icon on each of the notes so that it would then be necessary toonly indicate by a single selection the particular menu icon that ispresent on the selected object. If, for example, each of the notesincludes the same menu icon in the upper right hand corner, the menu forthe lowest note may be selected by touching that particular icon so thatthe menu comes up relating to that particular note. While thisarrangement puts extra images on the screen, it makes the selectionprocess easier. It would also be possible to display the entire menu foreach object all the time to make selections even easier. However, thiswould even further clutter the screen.

FIG. 6 shows a menu 27, which has been displayed after selection. Themenu includes a series of options 26′, each of which is indicated by aseparate button displayed thereon. FIG. 6 also shows highlighted focusmarkers 27′″ and 27″″. This menu is similar to the menu described abovein regard to FIG. 4. That is, individual options can be selected fromthe menu. The particular options in the menu may be selected in the samemanner that the menu icon has been selected as described above. That is,the options can be selected using a left click of a mouse, a physicalkeyboard, a virtual keyboard, and a roller ball or by the touch of afinger or pencil. For example once a particular option is selected, thedevice operates in accordance with that which is known.

As indicated above, the use of this menu icon makes the selectionprocess easier. By having the object menu icon always available, ratherthan having the user provide an input by using the selection or markingdevice, one step in the process is eliminated. Also, by having the iconavailable on each of the objects, another user interface step iseliminated. This is particularly important in wireless devices since thescreen size is quite small and the selection is not as easy as in a fullsize PC utilizing a mouse.

As indicated above, at least five different methods area available formaking selections either directly or indirectly relative to the objecton the screen. While different selection and marking devices may havedifferent possible choices for actuation, one important feature is theability to use more than one type of selection device in a singlewireless device. Thus, if a touch screen is available, the user has theoption of touching the icon or to use a virtual keyboard to more theicon around. While the touching action is the simplest and most direct,there may be some concern regarding smudging the screen, especially ifit is necessary to do a number of selections over the course of the daybefore it is possible to clean the screen. Also, because the screen issomewhat small, it may be easier to control the selection process usingthe virtual keyboard rather than using a finger and having a series oferrors of the wrong icon being actuated or more than one icon beingactuated. This, of course, depends on the dexterity of the personinvolved, the size of their fingers, etc.

Another reason that a user may not wish to use the touch screenarrangement is that if the user has long fingernails, the fingernail maytouch the screen before the finger tip in a slightly different locationso that an erroneous is made. This provides the user with options as towhich are preferred. Different users may use different options and thesame user may choose a different option under a different circumstance.

In addition to having the object menu icon available at all times andhaving a plurality of menu icons each associated with its specificobject, as described above, it is also possible to have more than oneobject menu for a single object when the object of lowest hierarchylevel of event objects of a service or application belong as a subset toanother object of a higher hierarchy level of objects in order toseparate two different types of features related to the objects ofdifferent hierarchy level. Thus, it is possible that two menu iconscould be placed on the screen where one menu contains service specificobject menu options of for example on one view area and the other menuhas item specific object menu options in another view area. For examplereceived e-mails may be the object to which the first object menu iconrelates and a specific received email may be the second object to whichthe other object menu is related. Likewise, it is possible for eachobject to have two icons with the same separation of features. This willlimit the number of options, which the user must select from when themenu appears. The user has to give an acceptable input command for anobject since the set of commands, which may be given to an object whenone service is used, is dependent of the hierarchy level of the object.This could be extended even further so that each option in the menu hasits own menu button, which would eliminate an additional step. However,this would generally be unacceptable since too many menu buttons wouldbe present on the screen.

Another manner in which the selection of options on a screen may besimplified is the use of a focus marker used as a selection markeraround a portion of the screen. A focus marker is merely a borderline,which surrounds a portion of the screen in order to limit the selectionprocess to that area. For example, FIG. 5 shows the screen availableunder the same system described above, but with the fifth or right handtab indicated by several people being actuated. This screen showsaddress book type information for various people and also allowsdifferent groups to be described. Thus, the full screen is indicated bynumber 30. This screen includes a first screen area 31 with the five tabselection buttons. Second screen area 32 includes a small section belowthe first screen area 31 which includes columns referring to type (i.e.person or group) and name. The third screen area 33 is below the secondscreen area 32 and includes a list under the headings shown in screenarea 32. The fourth screen area 34 is on the right hand side of thesecond screen area 32 and the third screen area 33 and below firstscreen area 31 and includes specific information related to the selectedlisting in the third screen area 33. Thus, in the fourth screen area 34,the first item in the list of the third screen area 33 indicates that“my team” is selected and that this is a group. The fourth screen area34 indicates the group name and the group members associated with thatgroup.

When the user wishes to make selections using a hardware scroll buttonor other selection devices such as screen touches, mouse movement,keyboard actuation or focus area marking, it is helpful to limit thescreen to a particular screen area which is being selected. This isespecially true when using scroll buttons. For example, in FIG. 5 itwould not be clear whether one is trying to scroll down the list in thethird screen area 33 or the list of members in the fourth screen area34. By moving the focus marker onto a different screen area, it ispossible to limit the possible actuation of different items. Thus, thescroll button will only work with the third screen area 33 if it isindicated by a focus marker. Even if other systems such as a touchscreen is utilized, this may be helpful since it will eliminate thepossibility of erroneous touches in wrong screen areas.

The operation of the focus markers 27′, 27″, 27′″ and 27″″ can becompared to using a tab key on a PC to go between different objectswithin an application. Thus, the focus button can be moved betweenscreen areas by actuation of a single button or other actuating deviceso that it moves in sequence between different screen areas. One screenarea will normally be set as a default position, such as screen areathree. The screen areas may be selected in order using the equivalent ofa tab key. The different screen areas may also be selected by anotheractuating device such as a finger touch, the arrow keys, etc. It shouldbe remembered that the main purpose of the focus marker is to supporthardware button inputs on the mobile terminal. Thus, this feature willnot occur during browser operations. It should also be noted thatcertain parts of the screen would not be accessed by any marking orselection device. For example in FIG. 5, there is a area at the bottomof the screen, which is used for advertising and which is not includedin any selectable screen area.

For the user interface, that is shown in the terminal display, that is awireless or fixed terminal connected to the network access point, it ispossible to divide the terminal display into three areas which areservice selection tabs, content and advertisement areas when generic webbrowsing is not the activated application service. The service selectiontab area in FIG. 5 is the first screen area, from which a specificservice application can be initiated. A content area is the screen areaindicated as 30 in FIG. 5. The area below the content area may be used,for instance, for advertising.

A specific marker means a marker such as focus marker which may bedefined in such a way, that it is used only in the limited area of thescreen for example the content area.

A specific marker, such as focus marker, may be defined in such a way,to be used only in the view of the mobile terminal of the system.

When the user wishes to move the focus markers in FIGS. 5 and 6, theaction depends on the type of input device. Thus, if a touch screenarrangement is used, the user can only move the focus marker to anotherobject by physically moving the marker visibly over the new object. If ahardware button input is utilized, the user can step the marker betweenobjects in the active screen area by scrolling on the roller button. Ifthe user interface objects are items in one of the lists within themobile terminal display, moving the focus marker at the same time movesthe highlighting to the next object. Using the scroll left/rightcommand, the user can move between screen areas of the surfaces. If theuser interface objects are on a public web page, the scroll left/rightbuttons can also be used to step the focus marker between objects.

It must always be remembered that when using a wireless device to accessthe Internet or other network, layering of protocols comes into playbetween the different parts of the system. Thus, with layering ofprotocols various arrangements must be made to not loose content and toproperly interact in a fashion as workable at all levels. For example,when an option it selected from an object menu, it is necessary that theselection be forwarded from the wireless device to the server and thenthrough the Internet so that the connection is then made and theselection option is then displayed by the wireless device. The selectedobject may be a portrait with a selection marker such as the focusmarker and an audio feedback may be played in the terminal when thevisual object menu indicator is selected for showing the commandselection options for the related object.

Every command, that it selectable from the screen and the object towhich the command is directed, is considered user selection information.The selected command can be interpreted as code and the object can beinterpreted in a selection data format that may be similarly structuredas the command code (like in HTML).

U.S. patent application Ser. No. 09/607,369, entitled “User InterfaceConstructed From Components Created From a Set of Tags”, provides amethod for generating display instructions by converting a templatecontaining style information into a final format, which converts forexample data created in one language into a second language. That methodconverts one machine-readable language for example XML or XSL intoanother language for example HTML by applying instructions to styletemplates. Now the described sequence is applied in the new pagegenerating process when network server creates the response to theterminal according to the service that is controlled in the mobiledisplay appliance server 28. U.S. patent application Ser. No. 09/607,369is referred to in the following detailed description, in which theoverall functionality from the terminal to the server and the serverresponding back to the terminal is described thoroughly.

FIG. 7 illustrates a terminal 20-20 c and mobile display applianceserver 28 which are in connection via server of access provider 22 andserver of ISP 24. The connection from the terminal to the server ofnetwork access provider 22 is the earlier described air interfaceconnection for example WLAN. The connection from the server of theaccess provider 22 via the server of ISP 24 to the mobile displayappliance server 28 of the mobile terminal is made for example by aTCP/IP connection, which is commonly known as an Internet connection. Inthe terminal 20-20 c there is a HTML control 300, that is capable ofreceiving HTML page information from the mobile display appliance server28 and displaying it to the terminal's screen. The HTML control 300 alsosends all user selection information from the terminal via servers ofthe access provider and the ISP 24 to the mobile display applianceserver 28. The interface between terminals 20-20 c and the mobiledisplay appliance server 28 is part of an Application Protocol Layer(API) Interface.

At the mobile display appliance server 28 side in the FIG. 7 there is arequest handler control 302 that receives the HTTP message. The requesthandler control 302 is in connection with a service control 304. Therequest handler control 302 forwards the user information according tothe service used by the user to the service control 304. Depending onthe service in question, the information relative to the sessionconnection and the user given information, the service control 304creates a response either in XML data and in the name of the XSLtemplate to be used, when the data is processed further in the nextstage. The page generator 306 receives the response template to be usedand the data, which are further processed in the page generator. Thepage generator 306 tailors the page according to the active user (whichmay also be multi user) profile and sends the page to the HTML block308. The HTML control 308 is the control element in the mobile displayappliance server 28 that sends the server's response to the terminal20-20 c as feedback to the user given information. The controls of themobile display appliance server 28 in FIG. 7 are logical controls. InFIG. 3 the controls of server are presented in such a way, that all thefunctional blocks of the server are presented in more detail than inFIG. 7. In FIG. 7 the request handler control 302 is illustrated in FIG.3 as the response or application server. In FIG. 7 the service 304 isillustrated in FIG. 3 as the login services unit 56, profile servicesunit 58 and defined services unit 64. In FIG. 3 other control units,such as network application server 50, directory services 52, client logunit 59 and the browser units 68, 68 a 68 b, are supportive controlblocks.

In FIG. 8 after the user information is input in the terminal device,the user interface element in the terminal 20-20 c traps the userinformation selection message in step 800, and sends the selectionmessage to the network from the HTML control 300 by using a HTTP messagefor example POST or GET. The HTTP protocol is described for example in“Hypertext Transfer Protocol—HTTP/1.1” publication that is todayavailable. The HTTP control 300 of the terminal 20-20 c fills in theuser selection information, given command, application service, theselected object and information of the connection sessionidentification, which includes the terminal type. The HTTP message isreceived at the mobile display appliance server 28 in the requesthandler unit 302 and the user information, included as content to theHTTP messages POST or GET. The received HTTP message content includessession identification, which includes the type of the terminalinformation and user selection information. The received HTTP messageincludes as user selection information, the command user selected, theselected object, and possibly other service application information. Therequest handler 302 makes the selection in step 804 according to theapplication service identification that is received in the HTTP messageand selects the right service available from the service control 304where the message content is transferred. The service control 304functions according to the user's information (the given command andselected object) in step 806 and as result of the selection createsresponse data in a XML format and identifies the XSL template bydefining for example a name of the template. The identified XSL templatemay be for instance a “login screen”. Then in the next step 808, thereceived XSL template name is chosen based on terminal identificationinformation. The XSL template is terminal type specific due to differentterminal capability to interpret, store and display the receivedinformation. The sizes of the terminal display and the terminal'scapability to support certain signaling protocols determine whichdifferent XSL template is used with different types of terminals in step808. For instance the first view after the terminal 20-20 c is poweredon is so called “login screen”, which is identified in the previous step806, and for instance if the terminal of the mobile system used “loginscreen mda,” the screen is used in the next step 810. If a PC is theterminal type, then “login screen PC” is used in the step 810. If theused terminal is for instance Nokia's WAP mobile phone, the loginscreen, is in WML format (Wireless Markup Language) as specified by WAPforum, and is named for instance “login screen 7110” to be used in step810. The page generator 306 in FIG. 7 receives the service selectedresponse template, which is further processed in the page generator. Thepage generator in step 810 in FIG. 8 tailors the page according to theactive user profile (, which may also be multi user profile). Forinstance, language selection of the active user profile specifies thatthe page generator 306 translates all the text information into thedefined language. The terminal's marker and selection devices are knownaccording to the terminal type. Any other user interface specific meansother than marker and selection means may also be defined according tothe terminal type. U.S. patent application Ser. No. 09/607,369, entitled“User Interface Constructed From Components Created From a Set of Tags”,describes the method of a page generation, that is applied in step 810in FIG. 8 in the method of the invention. The page generation stageprovides a method for generating display instructions by convertingtemplate containing style information into a final format, whichconverts for example data created in one language into a secondlanguage. The method for converting one machine-readable language forexample XML or XSL into another for example HTML by applyinginstructions to a style template is described in the above referredpatent application. At the mobile display appliance server 28, the HTMLpage is send from the HTML control 308 to the terminal in step 812. Inthe terminal 20-20 c, the HTML page information (or WML information ifWAP terminal is used) is received and displayed on the terminal screenin step 814 in FIG. 8 by the HTML control 300 (or alternatively by WMLcontrol block if WAP terminal is used). The steps described in FIG. 8and explained above at the server side phases of the method may be atleast partly be done in parallel order. The air interface protocol whichis used at present is HTTP over the WLAN, but in the future theinvention can be applied to other bearer and protocol environments overthe air. For instance, possible alternatives are the GPRS, General RadioPacket Service specified by the ETSI or the third generation wirelessterminal system specified by 3GPP. The previous processing steps 800-814of FIG. 8 can then be done partly at the server side in the network andpartly at the terminal in such a way, that on terminal side more stepsof the method are performed. For simplicity, this will be explained asbeing processed on the mobile system server side. This is the preferablemanner since it is best to have as much processing accomplished out ofthe wireless device in order to make it simpler and more portable.

When a response from the mobile display appliance server 28 or from theInternet 26 via a cellular network is sent back to the terminal 20-20 c,the processing is in similar to that described in U.S. patentapplication Ser. No. 09/607,369.

Corresponding parts operate in a similar fashion but in a reverse order.Thus, it can be seen that any user selection information beingtransferred to the mobile display appliance server 28 has localizationand component parsing performed before a response to the user selectionis sent back to the terminal 20-20 c.

Thus, each page is defined as an XML page template, which are parsedwith general mobile system components like the service menus and objectmenus. After that the context of view information is parsed via alocalization menu, which generates the view into the user's definedlanguage. The localization menu uses user/family profile definitions.The next step is the localization script in which parsing produces anHTML page ready for the terminal to be transferred via WLAN. Thelocalization and parsing can support terminals, that have more than onepossible size of the display, but doing the necessary informationprocessing in such a way, that the mobile terminal of a system issupported in an optimized way. That means, that depending on the memoryof the terminal, possibly more information is sent to the terminal thatcan be shown in the display view at any one time. Other terminals, suchas a fixed connected terminal to the network, may receive for exampleless information than the mobile terminal of the system.

When the user accesses a service, like a calendar service or retrievesinformation from the server 28, the browser 74 is the program productthat is in charge of conveying the service specific information and themain view of the selected application, such as calendar service, fromthe mobile display appliance server 28 to the terminal 20-20 c. Whenuser information selection is sent from the terminal 20-20 c to themobile display appliance server 28, the transfer is made by applying thebrowser application of the terminal 74 and the server system 68, 68 a or68 b. At the server side, the received HTML format user information isinitially received in the browser 68 of FIG. 3 and part of the browsermethods at server side uses the terminal client specific section 68 a or68 b of the browser.

The software product updates are transmitted from the global upgradeserver 38 in FIG. 1 and its configuration tool manager to the upgradeservice unit 54 in FIG. 3 and its configuration tool client. Theconfiguration tool client is the functional unit that acts when anyconfiguration tool manager of the management server (not illustrated inFIG. 1) upgrades any software component, full executable softwareprogram or re-configures configuration parameters, application andsystem parameters and user interface style information such as terminalstyle templates.

When operating the wireless device, different activating mechanisms canbe utilized, as described above. This may include an external mouseconnected to the terminal, an external keyboard connected to theterminal, an virtual keypad that is displayed on the touch sensitivescreen, a direct manipulation arrangement or an integrated roller in theterminal with roller control buttons. The operation of these differentdevices is herewith described.

When the external mouse is used for marking the object into which theuser commands are to be directed, marking is done typically by pressingone button one time (left click). Application specific commands aretypically selected from the menu, which affects the previously markedobject. This is the basic mouse selection pattern currently used in mostPC's.

When an external keypad is used, the marker may be activated by movingthe active selection point up, down, left or right with the “arrowbuttons” and the actual selection is done by the enter button. Thealternative to using the arrow buttons is the use of the tab button inorder to move the marking position from one object to another one at atime until the preferred object is selected. The command that is to beprocessed is given by pressing some button control such as the controlbutton and at the same time a character button or by using two characterbuttons together. This kind of marking and selection is also generallyknown in standard PC's. If a virtual keypad is used, the marking andselection of the object may be done similarly as described with theexternal keypad situation, but instead of using arrow buttons or tabs,the user uses fingertips directly on displayed soft keys which arekeypad buttons drawn on the touch sensitive display to look like hardbutton keys. This type of virtual keypad is described in U.S. patentapplication Ser. No. 09/607,359 filed Jun. 30, 2000.

When direct manipulation is used, the selection is accomplished bydirectly touching the object area in the touch sensitive display. Astatus indication of the process command can be shown in the display ofthe user interface. Direct manipulation methods are described in U.S.patent application Ser. No. 09/607,638 filed Jun. 30, 2000. The selectedobject is typically shown in different colors by highlighting orshading.

Numerous additional modifications and variations of the presentinvention are possible in light of the above teachings. It is thereforebeen understood that within the scope of the appended claims, theinvention may be practiced otherwise than as specifically describedherein.

1. A method comprising: determining to generate a user interface, theuser interface including at least one interactive element and at leastone menu object displayed proximate to the at least one interactiveelement; receiving a request for a selected service from a terminal, theservice is selected via the user interface; determining one or moreattributes of the terminal; selecting a template from a plurality oftemplates, according to the one or more attributes of the terminal; anddetermining to convert data associated with the selected service from afirst language format to a second language format.
 2. The method ofclaim 1, wherein the at least one interactive element is associated withat least one command, and wherein selection of the at least one commandcauses an operation to be applied to the at least one interactiveelement irrespective of whether the at least one interactive element waspreviously selected.
 3. The method of claim 1, wherein the request isreceived from a browser configured to operate on the terminal.
 4. Themethod of claim 1, further comprising determining to modify the dataassociated with the selected service according to a user profile.
 5. Themethod of claim 1, wherein each of the plurality of templates isspecific to one of a plurality of services.
 6. The method of claim 1,wherein the first language format is not compatible with the terminaland the second language format is compatible with the terminal.
 7. Themethod of claim 1, wherein the determination to convert the data fromthe first language format to the second language format includesapplying instructions for converting the data to the selected template.8. An apparatus comprising: at least one processor; and at least onememory including computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause the apparatus to perform at least the following: determine togenerate a user interface, the user interface including at least oneinteractive element and at least one menu object displayed proximate tothe at least one interactive element, receive a request for a selectedservice from a terminal, the service is selected via the user interface,determine one or more attributes of the terminal, select a template froma plurality of templates, according to the one or more attributes of theterminal, and determine to convert data associated with the selectedservice from a first language format to a second language format.
 9. Theapparatus of claim 8, wherein the at least one interactive element isassociated with at least one command, and wherein selection of the atleast one command causes an operation to be applied to the at least oneinteractive element irrespective of whether the at least one interactiveelement was previously selected.
 10. The apparatus of claim 8, whereinthe request is received from a browser configured to operate on theterminal.
 11. The apparatus of claim 8, wherein the apparatus is furthercaused to determine to modify the data associated with the selectedservice according to a user profile.
 12. The apparatus of claim 8,wherein each of the plurality of templates is specific to one of aplurality of services.
 13. The apparatus of claim 8, wherein the firstlanguage format is not compatible with the terminal and the secondlanguage format is compatible with the terminal.
 14. The apparatus ofclaim 8, wherein the determination to convert the data from the firstlanguage format to the second language format includes applyinginstructions for converting the data to the selected template.
 15. Acomputer-readable storage medium carrying one or more sequences of oneor more instructions which, when executed by one or more processors,cause an apparatus to at least perform the following steps: determiningto generate a user interface, the user interface including at least oneinteractive element and at least one menu object displayed proximate tothe at least one interactive element; receiving a request for a selectedservice from a terminal, the service is selected via the user interface;determining one or more attributes of the terminal; selecting a templatefrom a plurality of templates, according to the one or more attributesof the terminal; and determining to convert data associated with theselected service from a first language format to a second languageformat.
 16. The computer-readable storage medium of claim 15, whereinthe at least one interactive element is associated with at least onecommand, and wherein selection of the at least one command causes anoperation to be applied to the at least one interactive elementirrespective of whether the at least one interactive element waspreviously selected.
 17. The computer-readable storage medium of claim15, wherein the request is received from a browser configured to operateon the terminal.
 18. The computer-readable storage medium of claim 15,wherein the apparatus is further caused to modify the data associatedwith the selected service according to a user profile.
 19. Thecomputer-readable storage medium of claim 15, wherein each of theplurality of templates is specific to one of a plurality of services.20. The computer-readable storage medium of claim 15, wherein the firstlanguage format is not compatible with the terminal and the secondlanguage format is compatible with the terminal.
 21. Thecomputer-readable storage medium of claim 15, wherein the determinationto convert the data from the first language format to the secondlanguage format includes applying instructions for converting the datato the selected template.